//
//  BBTKLeftMenuViewController.m
//  Example
//
//  Created by QuangPC on 3/31/14.
//  Copyright (c) 2014 quangpc. All rights reserved.
//

#import "BBTKLeftMenuViewController.h"
#import "BBTKSplitViewController.h"
#import <Masonry/Masonry.h>

@interface BBTKLeftMenuViewController ()<UITableViewDelegate, UITableViewDataSource>
@property (nonatomic, weak) UITableView* tableView;
@property (nonatomic, copy) NSArray<BBTKSplitItem *> *datas;
@end

@implementation BBTKLeftMenuViewController

- (void)viewDidLoad
{
    [super viewDidLoad];
    
    UITableView* tableView = [[UITableView alloc] initWithFrame:self.view.bounds style:UITableViewStyleGrouped];
    tableView.delegate = self;
    tableView.dataSource = self;
    tableView.backgroundColor = [UIColor whiteColor];
    [self.view addSubview:tableView];
    self.tableView = tableView;
    
    [self.tableView mas_makeConstraints:^(MASConstraintMaker *make) {
        make.edges.equalTo(self.view);
    }];
}

// MARK: - Public

/// 设置数据
/// @param datas 数据
- (void)setupDatas:(NSArray<BBTKSplitItem *> *)datas {
    _datas = datas;
    [self.tableView reloadData];
}

/// 选择Menu
/// @param index menu位置
- (void)setSelectedIndex:(NSInteger)index {
    [self.tableView selectRowAtIndexPath:[NSIndexPath indexPathForRow:index inSection:0] animated:YES scrollPosition:UITableViewScrollPositionTop];
}

#pragma mark - Table view data source

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
    return 1;
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
    return self.datas.count;
}

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
    return 44;
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    static NSString *cellIdentifier = @"Cell";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier];
    
    if (!cell) {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellIdentifier];
        cell.textLabel.numberOfLines = 3;
    }
    // 设置数据
    BBTKSplitItem *data = self.datas[indexPath.row];
    cell.textLabel.text = data.title;
    return cell;
}

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    !self.itemClickBlock ?: self.itemClickBlock(indexPath.row);
}

@end
